/**
 * 排行榜菜单配置
 * 统一管理所有排行榜类型的菜单配置，实现自动映射
 */
import { h } from 'vue'
import {
  TrophyOutline,
  LockClosedOutline,
  GridOutline,
  BusinessOutline
} from '@vicons/ionicons5'

// 子弹图标组件
export const BulletIcon = () => h('svg', {
  viewBox: '0 0 24 24',
  fill: 'currentColor'
}, [
  h('path', {
    d: 'M12 2C13.1 2 14 2.9 14 4V8H16C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H8C6.9 22 6 21.1 6 20V10C6 8.9 6.9 8 8 8H10V4C10 2.9 10.9 2 12 2Z'
  })
])

// 排行榜菜单项类型定义
export interface RankingMenuItem {
  key: string
  label: string
  description: string
  icon: any
  iconColor: string
}

// 排行榜菜单配置
export const rankingMenuItems: RankingMenuItem[] = [
  {
    key: 'price-ranking',
    label: '价格排行榜',
    description: '查看各类价格排行数据，支持多种排序方式',
    icon: TrophyOutline,
    iconColor: '#f56c6c'
  },
  {
    key: 'keycard-ranking',
    label: '钥匙卡排行榜',
    description: '查看钥匙卡价格及涨幅排行',
    icon: LockClosedOutline,
    iconColor: '#d97706'
  },
  {
    key: 'bullet-ranking',
    label: '子弹排行榜',
    description: '查看子弹价格排行，了解弹药市场',
    icon: BulletIcon,
    iconColor: '#e6a23c'
  },
  {
    key: 'bullet-package-ranking',
    label: '子弹卡包',
    description: '查看3级、4级、5级弹药卡包利润排行',
    icon: BulletIcon,
    iconColor: '#e6a23c'
  },
  {
    key: 'category-ranking',
    label: '分类排行榜',
    description: '查看各分类的统计数据和热门物品排行',
    icon: GridOutline,
    iconColor: '#409eff'
  },
  {
    key: 'special-operation-ranking',
    label: '特勤处排行榜',
    description: '查看特勤处操作的利润、效率和热门度排行',
    icon: BusinessOutline,
    iconColor: '#e6a23c'
  }
]

// 获取排行榜菜单配置的工具函数
export const getRankingMenuItems = () => rankingMenuItems

// 根据key获取特定的排行榜菜单项
export const getRankingMenuItem = (key: string) => {
  return rankingMenuItems.find(item => item.key === key)
}

// 获取所有排行榜菜单的key列表
export const getRankingMenuKeys = () => {
  return rankingMenuItems.map(item => item.key)
}
